package com.rimi.service;

import com.rimi.bean.UserBean;

import java.util.List;

/**
 * @author jerry
 */
public interface UserService {

    /**
     * 查询所有的用户信息
     * @return
     */
    List<UserBean> getUserList();


    /**
     * 添加用户
     * @param userBean
     * @return
     */
    boolean saveUser(UserBean userBean);

    /**
     * 根据ID进行修改
     * @param userBean
     * @return
     */
    boolean updateUserById(UserBean userBean);

    /**
     * 根据ID进行删除
     * @param id
     * @return
     */
    boolean dropUserById(Integer id);


    /**
     * 根据ID进行范围删除
     * @param ids
     * @return
     */
    boolean  dropUserByIds(List<Integer> ids);

    /**
     * 登录
     * @param email 邮箱
     * @param password 密码
     * @return
     *  用户信息
     */
    UserBean login(String email, String password);


    /**
     * 通过ID获取用户信息
     * @param id 用户ID
     * @return
     *  用户的对象
     */
    UserBean getUserById(Integer id);


    /**
     * 根据token获取用户信息
     * @param token
     * @return
     */
    UserBean getUserByToken(String token);


    /**
     * 根据用户ID 保存token信息
     * @param userId
     * @return
     */
    boolean  saveTokenByUserId(Integer userId, String token);


    /**
     * 根据用户ID销毁token信息
     * @param userId 用户ID
     * @return
     *  是否销毁成功
     */
    boolean  dropTokenByUserId(Integer userId);


}
